<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title> 动态组件 </title>
    <script src="https://unpkg.com/vue@next"></script>
</head>
<body>
    <div id="app"></div>
</body>
<script>
    const app = Vue.createApp({   
        data() {
            return {
                inputValue: '',
                list: []
            }
        },
        methods: {
            handleAddItem() {
                this.list.push(this.inputValue)
                this.inputValue = ''
            }
        },
        template: `
            <div>
                <my-title />
                <input v-model="inputValue" />
                <button v-on:click="handleAddItem">增加佳丽</button>
                <ul>
                    <my-jiali 
                        v-for="(item,index) of list"  
                        v-bind:item="item" 
                        v-bind:index="index"  
                    />
                </ul>
            </div>
        `
    })
    app.component('my-title', {
        template: '<h1 style="text-align:center">象牙山洗脚城</h1>'
    })
    app.component('my-jiali', {
        props: ['item', 'index'],
        template: ` <li >[{{index}}]-{{item}}</li>`
    })
    app.mount("#app")
    /*
        动态组件 指的是显示内容不确定 通过父组件或程序控制而输出的内容 
                 关键的指令是v-bind 用这个方法 组件可以通过props 取得对应的值   
    */
</script>

</html>